package com.ruoyi.common.core.domain.entity.admin;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;


@Data
@TableName("admin_plot_crop_rel")
public class AdminPlotCropRelDB implements Serializable {

    private static final long serialVersionUID = 1L;

    /** 主键ID */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /** 菜地id */
    @Excel(name = "菜地id")
    private Long plotId;


    @TableField(exist = false)
    private List<Long> cropIds;

    /** 果蔬品种id */
    @Excel(name = "果蔬品种id")
    private Long cropId;

    /** 播种时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "播种时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date plantingTime;

    /** 预计收获时间（年月日） */
    @Excel(name = "预计收获时间", readConverterExp = "年月日")
    private Date estimatedHarvestTime;

    /** 是否为多次收割植物，0：不是，1：是 */
    @Excel(name = "是否为多次收割植物，0：不是，1：是")
    private Integer multiHarvest;

    /** 收获间隔（天） */
    @Excel(name = "收获间隔", readConverterExp = "天=")
    private Integer harvestIntervalDays;

    /** 上一次收货时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "上一次收货时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date lastHarvestedAt;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createdAt;

    /** 创建人ID */
    @Excel(name = "创建人ID")
    private Long createdBy;

    /** 修改时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "修改时间", width = 30, dateFormat = "yyyy-MM-dd")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date updatedAt;

    /** 修改人ID */
    @Excel(name = "修改人ID")
    private Long updatedBy;

    /** 是否启用(0:未启用, 1:启用中) */
    @Excel(name = "是否启用(0:未启用, 1:启用中)")
    private Integer isActive;

    /** 是否删除(0:未启用, 1:已删除) */
    @Excel(name = "是否删除(0:未启用, 1:已删除)")
    @TableLogic
    private Integer isDeleted;

    /** 删除时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "删除时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date deletedAt;

    /** 租户id */
    @Excel(name = "租户id")
    private Long tenantId;
}
